package com.zhenghaijin.searchservice.service;

import com.zhenghaijin.searchservice.model.Anime;
import com.zhenghaijin.searchservice.model.PageResult;

import java.util.List;

public interface AnimeService {
    /**
     * 搜索动漫，支持关键字模糊、分类、标签筛选和分页
     *
     * @param keyword  关键字（可选，模糊搜索标题和描述）
     * @param category 分类（可选）
     * @param tag      标签（可选）
     * @param page     当前页码，从 1 开始
     * @param size     每页记录数
     * @return 分页结果，包含符合条件的动漫列表和总记录数
     */
    PageResult<Anime> search(String keyword, String category, String tag, int page, int size);

    /**
     * 同步动漫数据到本地数据库：清空表并批量插入新数据
     *
     * @param animeList 动漫列表
     */
    void syncAnimeData(List<Anime> animeList);
}